9.3 CMSSchemaTypes schema

This schema contains the elements common to the CMSCardRequest and CMSUserUpdate schemas.

Copy
<?xml version="1.0"?>
<xs:schema
        xmlns:xs="http://www.w3.org/2001/XMLSchema"
        xmlns:myidbase="http://www.intercede.com/CommonTypes"
        targetNamespace="http://www.intercede.com/MyIDSchema/CMSCardRequest"
        xmlns="http://www.intercede.com/MyIDSchema/CMSCardRequest"
        elementFormDefault="qualified" attributeFormDefault="qualified"
        xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"
        >

    <xs:import namespace="http://www.intercede.com/CommonTypes" schemaLocation="MyIDBaseTypes.xsd"/>

    <xs:complexType name="ParametersBlockType">
        <xs:all>
            <xs:element name="SourceID" type="xs:string" minOccurs="1" maxOccurs="1"/>
            <xs:element name="IssueDate" type="xs:date" minOccurs="0" maxOccurs="1"/>
            <xs:element name="GenerateUserDN" type="myidbase:Int1" minOccurs="0" maxOccurs="1"/>
            <xs:element name="ActionOnDuplicate" type="xs:string" minOccurs="1" maxOccurs="1"/>
            <xs:element name="RolesActionOnDuplicate" type="xs:string" minOccurs="1" maxOccurs="1"/>
            <xs:element name="DeleteMissingUsers" type="xs:unsignedInt" minOccurs="1" maxOccurs="1"/>
            <xs:element name="PushToLDAP" type="xs:unsignedInt" minOccurs="1" maxOccurs="1"/>
            <xs:element name="CreateUnknownGroups" type="xs:integer" minOccurs="1" maxOccurs="1"/>
            <xs:element name="AuditAll" type="myidbase:Int1" minOccurs="1" maxOccurs="1"/>
            <xs:element name="DataType" type="xs:string" minOccurs="0" maxOccurs="1"/>
            <xs:element name="CheckImportResponseSchema" type="myidbase:Int1" minOccurs="0" maxOccurs="1"/>
            <xs:element name="SynchronousImport" type="myidbase:Int1" minOccurs="0" maxOccurs="1"/>
            <xs:element name="AllowBioImport" type="myidbase:Int1" minOccurs="0" maxOccurs="1"/>
            <xs:element name="DefaultUserRole" type="xs:string" minOccurs="0" maxOccurs="1"/>
            <xs:element name="DisallowCertificateSuspension" type="myidbase:Int1" minOccurs="0" maxOccurs="1"/>
            <xs:element name="CardRequestThrottling" type="xs:unsignedInt" minOccurs="0" maxOccurs="1"/>
            <xs:element name="ReplaceUnassignedCards" type="myidbase:Int1" minOccurs="0" maxOccurs="1"/>
        </xs:all>
    </xs:complexType>

    <xs:complexType name="PersonalBlockType">
        <xs:sequence>
            <xs:choice>
                <xs:sequence>
                    <xs:element name="FirstName" type="myidbase:NotEmptyString64" minOccurs="1" maxOccurs="1"/>
                    <xs:element name="LastName" type="myidbase:NotEmptyString64" minOccurs="0" maxOccurs="1"/>
                </xs:sequence>
                <xs:element name="LastName" type="myidbase:NotEmptyString64" minOccurs="1" maxOccurs="1"/>
            </xs:choice>
            <xs:element name="Initial" type="myidbase:String40" minOccurs="0" maxOccurs="1"/>
            <xs:element name="Title" type="myidbase:String20" minOccurs="0" maxOccurs="1"/>
            <xs:element name="Email" type="myidbase:String255" minOccurs="0" maxOccurs="1"/>
            <xs:element name="PhoneExt" type="myidbase:String50" minOccurs="0" maxOccurs="1"/>
            <xs:element name="MobileNumber" type="myidbase:String50" minOccurs="0" maxOccurs="1"/>
            <xs:element name="PhoneNumber" type="myidbase:String50" minOccurs="0" maxOccurs="1"/>
            <xs:element name="EmployeeID" type="myidbase:String50" minOccurs="1" maxOccurs="1"/>
            <xs:element name="OptionalLine1" type="myidbase:String255" minOccurs="0" maxOccurs="1"/>
            <xs:element name="OptionalLine2" type="myidbase:String255" minOccurs="0" maxOccurs="1"/>
            <xs:element name="OptionalLine3" type="myidbase:String255" minOccurs="0" maxOccurs="1"/>
            <xs:element name="OptionalLine4" type="myidbase:String255" minOccurs="0" maxOccurs="1"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="AuthenticationBlockType">
        <xs:sequence>
            <xs:element name="SecurityPhrase" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="Prompt" type="myidbase:NotEmptyString255" minOccurs="1" maxOccurs="1"/>
                        <xs:element name="Answer" type="myidbase:EncryptedData" minOccurs="1" maxOccurs="1"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="CardBlockType">
        <xs:sequence>
            <xs:element name="CardProfile" type="myidbase:String50" minOccurs="0"/>
            <xs:element name="CardExpiryDate" type="xs:date" minOccurs="0"/>
            <xs:element name="Renewal" type="RenewalString" minOccurs="0"/>
            <xs:element name="ImportCard" type="myidbase:TrueFalse" minOccurs="0"/>
            <xs:element name="CardRequestedBy" type="myidbase:String255" minOccurs="0"/>
            <xs:element name="CancelExisting" minOccurs="0" maxOccurs="1"/>
            <xs:element name="JobLabel" type="myidbase:String50" minOccurs="0"/>
            <xs:element name="Update" minOccurs="0" maxOccurs="1" type="UpdateCardBlockType"/>
            <xs:element name="Replacement" minOccurs="0" type="ReplacementCardBlockType"/>
            <xs:element name="GenerateOTP" minOccurs="0" maxOccurs="1" type="GenerateOTPBlockType"/>
            <xs:element name="OriginalSerialNumber" type="myidbase:String50" minOccurs="0" maxOccurs="1"/>
            <xs:element name="OriginalDeviceType" type="myidbase:String50" minOccurs="0" maxOccurs="1"/>
            <xs:element name="SerialNumber" type="myidbase:String50" minOccurs="0" maxOccurs="1" />
            <xs:element name="DeviceType" type="myidbase:String50" minOccurs="0" maxOccurs="1" />
            <xs:element name="StatusMapping" type="xs:unsignedByte" minOccurs="0" maxOccurs="1"/>
            <xs:element name="RevocationComment" type="myidbase:String255" minOccurs="0" maxOccurs="1"/>
            <xs:element name="Reprovision" type="xs:unsignedByte" minOccurs="0" maxOccurs="1"/>
            <xs:element name="CardLayout" type="myidbase:String50" minOccurs="0" maxOccurs="1" />
            <xs:element name="Container" type="myidbase:String50" minOccurs="0" maxOccurs="1" />
            <xs:element name="Certificate" type="myidbase:StringBase64" minOccurs="0" maxOccurs="1" />
            <xs:element name="AdditionalFields" minOccurs="0" maxOccurs="1">
                <xs:complexType mixed="true">
                    <xs:sequence>
                        <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="UpdateCardBlockType">
        <xs:sequence>
            <xs:element name="OriginalSerialNumber" type="myidbase:String50" minOccurs="1" maxOccurs="1" />
            <xs:element name="OriginalDeviceType" type="myidbase:String50" minOccurs="1" maxOccurs="1" />
            <xs:element name="StatusMapping" type="xs:int" minOccurs="0" maxOccurs="1"/>
              <xs:element name="ParametersXML" type="JobParameters" minOccurs="0" maxOccurs="1"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="ReplacementCardBlockType">
        <xs:all>
            <xs:element name="OriginalSerialNumber" type="myidbase:String50" minOccurs="1" maxOccurs="1"/>
            <xs:element name="OriginalDeviceType" type="myidbase:String50" minOccurs="1" maxOccurs="1"/>
            <xs:element name="StatusMapping" type="xs:int" minOccurs="0" maxOccurs="1"/>
        </xs:all>
    </xs:complexType>

    <xs:complexType name="CardUpdateBlockType">
        <xs:all>
            <xs:element name="SerialNumber" type="myidbase:String255" minOccurs="1" maxOccurs="1"/>
            <xs:element name="DeviceType" type="myidbase:String255" minOccurs="1" maxOccurs="1"/>
            <xs:element name="CardRequestedBy" type="myidbase:String255" minOccurs="0" maxOccurs="1"/>
            <xs:element name="ParametersXML" type="JobParameters" minOccurs="1" maxOccurs="1"/>
            <xs:element name="PIN" type="myidbase:String50" minOccurs="0" maxOccurs="1"/>
        </xs:all>
    </xs:complexType>

    <xs:complexType name="AccountBlockType">
        <xs:sequence>
            <xs:element name="DN" type="myidbase:String1024" minOccurs="0" maxOccurs="1"/>
            <xs:element name="CN" type="myidbase:String255" minOccurs="0" maxOccurs="1"/>
            <xs:element name="OU" type="myidbase:String1024" minOccurs="0" maxOccurs="1"/>
            <xs:element name="UPN" type="myidbase:String255" minOccurs="0" maxOccurs="1"/>
            <xs:element name="SAMAccountName" type="myidbase:String20" minOccurs="0" maxOccurs="1"/>
            <xs:element name="Domain" type="myidbase:String50" minOccurs="0" maxOccurs="1"/>
            <xs:element name="LogonName" type="myidbase:String255" minOccurs="0" maxOccurs="1"/>
            <xs:element name="NewLogonName" type="myidbase:String255" minOccurs="0" maxOccurs="1"/>
            <xs:element name="UniqueID" type="myidbase:String255" minOccurs="0" maxOccurs="1"/>
            <xs:element name="Roles" minOccurs="0" maxOccurs="1" type="RolesBlockType"/>
            <xs:element name="EntrustProfile" type="myidbase:String50" minOccurs="0" maxOccurs="1"/>
            <xs:element name="UserDataApproved" type="myidbase:YesNoOneZero" minOccurs="0" maxOccurs="1"/>
            <xs:element name="MaxRequestExpiryDate" type="xs:date" minOccurs="0" maxOccurs="1"/>
            <xs:element name="VettingDate" type="xs:dateTime" minOccurs="0" maxOccurs="1"/>
            <xs:element name="UserSID" type="myidbase:String255" minOccurs="0" maxOccurs="1"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="RolesBlockType">
        <xs:sequence>
            <xs:element name="Role" minOccurs="0" maxOccurs="unbounded" type="RoleBlockType"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="RoleBlockType">
        <xs:sequence>
            <xs:element name="Name" type="myidbase:String255" minOccurs="1"/>
            <xs:element name="Scope" type="RoleScope" minOccurs="0" maxOccurs="1"/>
            <xs:element name="LogonMechanism" type="RoleLogonMechanism" minOccurs="0" maxOccurs="1"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="PhotoBlockType">
        <xs:sequence>
            <xs:choice>
                <xs:sequence>
                    <xs:element name="Encoding" type="FileEncoding" maxOccurs="1" minOccurs="1"/>
                    <xs:element name="Data" type="myidbase:StringBase64" maxOccurs="1" minOccurs="1"/>
                    <xs:element name="DateTaken" type="xs:dateTime" maxOccurs="1" minOccurs="0"/>
                    <xs:element name="Source" type="myidbase:String50" maxOccurs="1" minOccurs="0"/>
                </xs:sequence>
                <xs:element name="None" type="myidbase:String50" maxOccurs="1" minOccurs="1"/>
            </xs:choice>
        </xs:sequence>
    </xs:complexType>

    <xs:simpleType name="FileEncoding">
        <xs:restriction base="xs:string">
            <xs:enumeration value="jpg"/>
            <xs:enumeration value="gif"/>
            <xs:enumeration value="png"/>
            <xs:enumeration value="bmp"/>
            <xs:enumeration value="378"/>
            <xs:enumeration value="385"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="RoleScope">
        <xs:restriction base="xs:string">
            <xs:enumeration value="None"/>
            <xs:enumeration value="Self"/>
            <xs:enumeration value="Department"/>
            <xs:enumeration value="Division"/>
            <xs:enumeration value="All"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="RoleLogonMechanism">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Password"/>
            <xs:enumeration value="Card"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="UserAction">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Disable"/>
            <xs:enumeration value="Remove"/>
            <xs:enumeration value="CancelDevices"/>
            <xs:enumeration value="CancelDevice"/>
            <xs:enumeration value="CancelJob"/>
            <xs:enumeration value="CancelAllJobs"/>
            <xs:enumeration value="UnlockCard"/>
            <xs:enumeration value="RenewCertificate"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="RenewalString">
        <xs:restriction base="xs:string">
            <xs:enumeration value="true"/>
            <xs:enumeration value="false"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="JobParameters">
        <xs:sequence>
            <xs:element name="UnlockPIN" type="xs:unsignedInt" maxOccurs="1" minOccurs="0" />
      <xs:element name="ReIssue" type="xs:unsignedInt" maxOccurs="1" minOccurs="0" />
        </xs:sequence>
    </xs:complexType>



    <xs:complexType name="ActionsBlockType">
        <xs:sequence>
            <xs:element name="ApplicantAction" type="UserAction" minOccurs="0" maxOccurs="1"/>
            <!-- MPS-69 to support certificate renewal -->
            <xs:element name="CertSerialNumber" type="myidbase:String50" minOccurs="0" maxOccurs="1"/>
            <xs:element name="CertPolicyName" type="myidbase:String50" minOccurs="0" maxOccurs="1"/>
            <!-- -->
            <xs:element name="StatusMappingID" type="xs:unsignedInt" minOccurs="0" maxOccurs="1"/>
            <xs:element name="RevocationComment" type="myidbase:String255" minOccurs="0" maxOccurs="1"/>
            <xs:element name="RevocationDelay" type="xs:unsignedInt" minOccurs="0" maxOccurs="1"/>
            <xs:element name="Device" minOccurs="0">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="DeviceIdentifier" minOccurs="0" maxOccurs="unbounded" type="DeviceIdentifierBlockType"/>
                        <xs:element name="ProcessStatus" type="myidbase:String50" minOccurs="0" maxOccurs="1" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="RequestedBy" type="myidbase:String255" minOccurs="0" maxOccurs="1" />
            <xs:element name="Job" type="xs:unsignedInt" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="Filters" type="FilterCriteria" minOccurs="0" maxOccurs="1" />
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="DeviceIdentifierBlockType">
        <xs:sequence>
            <xs:element name="SerialNumber" type="myidbase:String50" minOccurs="1"/>
            <xs:element name="SerialNumberField" type="myidbase:String50" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="FilterCriteria">
        <xs:sequence>
            <xs:element name="Filter" minOccurs="1" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="FieldName" type="xs:string" minOccurs="0" maxOccurs="1" />
                        <xs:element name="FieldValue" type="xs:string" minOccurs="0" maxOccurs="1" />
                        <xs:element name="Operation" minOccurs="1" maxOccurs="1" type="myidbase:OperationType"/>
                        <xs:element name="Or" type="xs:boolean" minOccurs="0" maxOccurs="1" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="GenerateOTPBlockType">
        <xs:sequence>
            <xs:element name="Notification" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="Name" type="myidbase:String255" minOccurs="1" maxOccurs="1" />
                        <xs:element name="Action" type="myidbase:String10" minOccurs="0" maxOccurs="1" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="AdminGroupsBlockType">
        <xs:sequence>
            <xs:element name="AdminGroup" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="Name" minOccurs="1" type="myidbase:String100" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

</xs:schema>